package org.example.operator.transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * rdd的算子，也就是rdd的方法
 *
 * rdd可以获得分区的概念，进行处理
 */
object Spark03_RDD_Operator_MapPartitionsWithIndex {
  def main(args: Array[String]): Unit = {

    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD")
    val context = new SparkContext(conf)

    val rdd: RDD[Int] = context.makeRDD(List(1,2,3,4),2)
    rdd.mapPartitionsWithIndex((index,iter)=>{
      if(index==1){
        // 只看1号分区
        iter
      }else{
        // 返回空集合
        Nil.iterator
      }
    })

    context.stop();  }
}
